The described embodiments relate generally to improving the performance of computer systems providing content item synchronization, and particularly to improving the synchronization of content items between multiple client devices and a content management system where the multiple client devices are connected to a local area network (LAN).
Content management systems enable users to share content items from one client to another client. The clients are computing devices that provide content items to a content management system for storage and synchronization with other clients. The other clients may be operated by another user or may be devices registered or managed by the same user. A user designates which content items or directories containing content items are available to be shared with other users, and thus synchronized to the client devices of such users. Generally, a content management system synchronizes a given content item with all of the client devices that have been designated to share the content item. Typically, sharing content items with other client devices is accomplished by a first client device uploading the shared content item (or edits to a content item) to the server of the content management system and then downloading by a second client device the shared content item.
In some cases where many client devices are connected to each other over the same LAN, client devices may request new and updated shared content items from client devices on the LAN instead of requesting them from the server.
The figures depict various embodiments for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.